1. Field of the Invention
The present invention relates to a computer-implemented method for simulating the motion of cloth and cloth-like materials, such as used in computer-generated animation and moving visual effects.
2. Description of Related Art
Computer-simulations of cloth and other thin flexible materials is known in the art of computer-generated graphics. Such simulation is used as an animation tool in the production of motion pictures, videos, computer games and other forms of video entertainment. Various methods have been developed to provide a plausible simulation of cloth movement, while limiting the computational complexity of the method so as to reduce the amount of computing resources required.
Notwithstanding their advantages, prior art methods for simulation of cloth and other thin materials are subject to certain disadvantages. These disadvantages may be frequently encountered when simulating the movement of clothing worn by a computer-generated character. Being made of thin, flexible material, clothing deforms and moves in a complex way in response to movements of the animated character. Prior-art methods for simulating cloth are not capable of accurately simulating certain types of movement, or require more computational resources than desired to do so.
For example, prior-art collision-response algorithms to do not provide accurate results when clothing is pressed or pinched tightly together. This situation may occur frequently as animated characters move about and interact. Simulated clothing can easily become pressed between or beyond simulated body parts and adjoining clothing. The modeled clothing therefore intersects with itself or adjoining objects in ways that would be impossible in nature, often while being wrinkled, crumpled, or folded in complex ways. Simulating cloth behavior while avoiding or recovering from self-intersections for complex garment meshes remains a vexing problem, particularly when known simulations cause a piece of cloth to intersect with itself. Prior-art methods may become confused and are generally unable to untangle severely self-intersected portions of cloth, or may require too many frames to correct a self-intersection problem. Expensive simulation runs may thereby be ruined, or placed in need of manual repairs and touch-up.
It is desirable, therefore, to provide a computationally-efficient method for simulating motion of cloth, and more particularly, for correcting intersections between adjacent portions of simulated cloth or other thin deformable material. The method should also provide for efficiently correcting or preventing intersections generally between simulated cloth and adjacent objects of any desired type.